package com.xh.bussiness.tiku.model;

import com.baomidou.mybatisplus.annotation.TableName;
import com.xh.core.model.SuperEntity;
import com.xh.core.util.MD5Utils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 试题临时表
 * </p>
 *
 * @author JQM
 * @since 2019-08-27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tiku_question_copy")
public class QuestionCopy extends SuperEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 当前版本号
     */
    private Integer currentVersion;

    /**
     * 试题MD5
     */
    private String questionMd5;

    /**
     * 题干
     */
    private String title;

    /**
     * 题型
     */
    private Integer type;

    /**
     * 学科ID
     */
    private String subjectId;

    /**
     * 难度
     */
    private Integer difficult;

    /**
     * 年段id
     */
    private String gradeRangeId;

    /**
     * 类别：真题、模拟题等
     */
    private String category;

    /**
     * 年份
     */
    private String yearId;

    /**
     * 标签，以分号分隔
     */
    private String labels;

    /**
     * 来源
     */
    private String source;

    /**
     * 父级ID
     */
    private String parentId;

    /**
     * 序号
     */
    private Integer orderNo;

    /**
     * 省id
     */
    private String proviceId;

    /**
     * 市id
     */
    private String cityId;

    /**
     * 区id
     */
    private String districtId;

    /**
     * 选项数据
     */
    private String optionContent;

    /**
     * 正确答案
     */
    private String rightAnswer;

    /**
     * 引用次数
     */
    private Integer useCount;

    /**
     * 作答次数
     */
    private Integer answerCount;

    /**
     * 正确次数
     */
    private Integer answerRightCount;

    /**
     * 排列方式：1->每行一个选项；2->每行两个选项 3->每行4个选项
     */
    private Integer optionArrangements;
    /**
     * 题干类型  1、文本 2、图片
     */
    private Integer contentType;

    /**
     * 拍照错题照片路径
     */
    private String imgPath;

    /**
     * 审核状态：0->未审核；1->审核中；2->驳回；3->通过
     */
    private Integer status;

    /**
     * 题目来源，1 自建，2 菁优网
     */
    private Integer sourceFrom;

    /**
     * 菁优网传过来的试题id
     */
    private String refId;
    /**
     * 错误次数
     */
    private Integer wrongCount;

    /**
     * 龙文市区id
     */
    private String longwenCityId;

    /**
     * 龙文市区名称
     */
    private String longwenCityName;

    /**
     * 龙文分校id
     */
    private String longwenBranchId;

    /**
     * 龙文分校名称
     */
    private String longwenBranchName;

    /**
     * 龙文区域id
     */
    private String longwenAreaId;

    /**
     * 龙文区域名称
     */
    private String longwenAreaName;

    /**
     * 校区id
     */
    private String schoolId;

    /**
     * 校区名称
     */
    private String schoolName;

    /**
     * 试题源码
     */
    private String questionHtml;

    public QuestionCopy init() {
        this.currentVersion = 1;
        this.useCount = 0;
        this.answerCount = 0;
        this.answerRightCount = 0;
        return this;
    }

    public String genarateMd5() {
        return MD5Utils.string2MD5(title.trim()
                + (optionContent == null ? "" : optionContent.trim())
                + (rightAnswer == null ? "" : rightAnswer.trim()));
    }
}
